package main

import (
	"fmt"
	"log"

	"github.com/spf13/viper"
)

func main() {
	// 1️⃣ 告诉 viper 去哪个路径下找配置文件
	viper.SetConfigName("config") // 不含扩展名
	viper.AddConfigPath(".")      // 当前路径
	// viper.AddConfigPath("/etc/myapp/") // 也可以添加多个路径

	// 2️⃣ 自动寻找并识别格式（根据扩展名）
	if err := viper.ReadInConfig(); err != nil {
		log.Fatalf("读取配置文件失败: %v", err)
	}

	fmt.Println("✅ 成功读取配置文件:", viper.ConfigFileUsed())

	// 3️⃣ 读取字段
	server := viper.GetString("server.host")
	port := viper.GetInt("server.port")
	debug := viper.GetBool("debug")

	fmt.Printf("Server: %s:%d\nDebug: %v\n", server, port, debug)
}
